# -*- coding: utf-8 -*-
"""
Created on Wed Nov 25 17:58:49 2020

@author: wi
"""

import numpy as np
import pandas as pd


"""每个班级生成一个（50，3）的随机数矩阵，对应50名学生，3门课程。
6各班级编号为1，2，3。。。
用一个字典保存全部6个班级的数据"""
class_test = {}
for i in range(6):
    class_test[i+1] = np.random.randint(40, 100, size=(50, 3))

# 把6个班级的成绩合并到一起
test_list = [class_test[i+1] for i in range(6)]
score = np.vstack(test_list)

# 生成性别数组sex(用0，1表示)，水平叠加数组sex和score得到data
sex = np.random.randint(2, size=(300,1))
data = np.hstack((sex, score))

# 分别计算男女生各科成绩统计指标:最小值、最大值、平均分、中位数、标准差
# 把array转换成dataframe来进行分组聚合
df = pd.DataFrame(data, columns=['sex', 'python', 'math', 'Chinese'])

print(pd.pivot_table(df,index=["sex"],aggfunc=[np.min, np.max, np.mean, np.median, np.std]))